﻿using System;
using System.ComponentModel;
using System.Xml.Serialization;
using System.Collections.Generic;
using System.Runtime.Serialization;

using Dynamic.Data.Model.DataType;
using Dynamic.Core.Attributes;

namespace Dynamic.Data.Model.MetaData
{
    /// <summary>
    /// 元数据基类
    /// </summary>
    [DataContract]
    public abstract class MetadataBase : MappingBase
    {
        private Guid _id;

        public MetadataBase()
        {
            this.ModelType = ModelType.Metadata;
        }

        /// <summary>
        /// GUID
        /// </summary>
        [DataMember]
        [XmlAttribute]
        [MetadataProperty(Name="metadata", IsDbfield = false)]
        public Guid Guid
        {
            get
            {
                return this._id;
            }
            set
            {
                this._id = value;
            }
        }

    }

}
